Hand-held browser transcoding

ABSTRACT

A hand-held computer device with integral web page transcoding. A processor, forming a part of the handheld computer has a display coupled to the processor forming a part of the handheld computer, with the display having limited resolution of M×N pixels. A browser program running on the processor facilitates retrieving and viewing of a web page having size greater than M×N on the display. This is accomplished in a browser having an associated browser plug-in that transcodes the web page to a format adapted to the display. The transcoding is carried out by, among other things, generating a menu of frames from the web page to permit a user to select a desired frame for display by selecting frame titles as menu selections and compressing an image to a size suitable for display on the M×N resolution display.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction of the patent document or thepatent disclosure, as it appears in the Patent and Trademark Officepatent file or records, but otherwise reserves all copyright rightswhatsoever.

FIELD OF THE INVENTION

The present invention relates to the field of browsers for viewingInternet content using a palmtop computer or other handheld device.

BACKGROUND

As the components required to build a computer system have reduced insize, new categories of computer systems have emerged. One of the newcategories of computer systems is the “palmtop” computer system. Apalmtop computer system is a computer that is small enough to be held inthe hand of a user and can be “palm-sized.” Such computer systems areimplemented as Personal Digital Assistants (PDAs) and are finding theirway into other hand-held devices such as cellular telephones.

While these palm sized computers (“palmtop” computers) have dramaticallyreduced size when compared to a desktop or notebook computer, the userwould like to be able to perform many of the same types of functionsperformed using physically larger and more powerful computers. Morerecent implementations of such devices often have the ability ofbrowsing the Internet using a wireless (or wired) connection.Unfortunately, the physical size of the device and it's associateddisplay can seriously inhibit the user's browsing experience.

Most web pages are designed to display information in a format suitablefor desktop and notebook computers with display resolutions of, forexample, 600×800 pixels. When such pages are displayed on a much smallerdisplay (e.g., a 160×160 pixel display), it is very difficult toeffectively view the pages.

This issue has heretofore been addressed in two ways. The first is touse horizontal and vertical scrolling of a window over the original webpage as illustrated in FIG. 1. In this implementation, the user scrollsa window 50 corresponding to the screen size of the hand-held devicevertically and horizontally to reveal various portions of the web page.While this permits the user to access the entire web page, it iscumbersome to use and often provides an unsatisfying browsingexperience.

The second mechanism used to address the problem is by using a proxyserver to convert the web page to a format that can be viewed morecomfortably by the hand-held device using a process called “transcoding”to translate the web page code to a more suitable format for thehand-held device. Unfortunately, using a proxy server has severaldisadvantages. The proxy server must generally be hosted and managed. Ifthe proxy server is hosted by a carrier, then the browser will not beable to access intranet web pages behind a corporate firewall. Secureweb pages would no longer be secure, since the proxy server must decryptthe web page prior to transcoding. If the proxy server is hosted withinan enterprise, is must be internally managed within the enterprise(e.g., by the corporate Information Technology department). Also, theuse of a proxy server can slow access to web pages under manycircumstances.

SUMMARY OF THE INVENTION

Accordingly, what is needed is a mechanism for viewing web pages using ahandheld device that does not require a proxy server and minimizes needfor both horizontal and vertical scrolling.

A hand-held computer device consistent with certain embodiments of thepresent invention incorporates integral web page transcoding. Aprocessor, forming a part of the handheld computer has a display coupledto the processor forming a part of the handheld computer, with thedisplay having limited resolution of M×N pixels. A browser programrunning on the processor facilitates retrieving and viewing of a webpage having size greater than M×N on the display. This is accomplishedin a browser having an associated browser plug-in that transcodes theweb page to a format adapted to the display. The transcoding is carriedout by generating a menu of frames from the web page to permit a user toselect a desired frame for display by selecting frame titles as menuselections; compressing an image to a size suitable for display on theM×N resolution display, wherein the image has size and pixel depth, byreducing the image's size and reducing the image's pixel depth; andconverting multiple columns into a single column for display on the M×Nresolution display by removing redundant table definition tags. Thisprovides advantages of eliminating the need for a proxy server toproduce web pages more suitable for display on the limited resolutiondisplay of the hand-held device.

A hand-held computer device consistent with certain embodiments of thepresent invention has a processor, forming a part of the handheldcomputer. A display is coupled to the processor forming a part of thehandheld computer, the display having resolution of M×N pixels. Abrowser program runs on the processor to facilitate retrieving andviewing of a web page on the display, the web page having a size greaterthan M×N. The browser has an associated program code for transcoding theweb page to a format adapted to the display.

A method of transcoding a web page within a hand-held computer devicewith display having resolution of M×N, consistent with certainembodiments of the present invention, includes determining if the webpage contains multiple frames, and if so generating a menu of framesfrom the web page to permit a user to select a desired frame fordisplay; determining if the web page contains any images, and if socompressing the images to a size suitable for display on the M×Nresolution display; and determining if the web page contains multiplecolumns, and if so converting the multiple columns into a single columnfor display on the M×N resolution display.

A method of transcoding a web page within a hand-held computer devicewith display having resolution of M×N, consistent with certainembodiments of the present invention, includes determining if the webpage contains multiple frames; and

if the web page contains multiple frames, generating a menu of framesfrom the web page to permit a user to select a desired frame fordisplay.

A method of transcoding a web page within a hand-held computer devicewith display having resolution of M×N, consistent with certainembodiments of the present invention, includes determining if the webpage contains an image; and if the web page contains an image,compressing the image to a size suitable for display on the M×Nresolution display.

A method of transcoding a web page within a hand-held computer devicewith display having resolution of M×N, consistent with certainembodiments of the present invention, includes determining if the webpage contains multiple columns; and if the web page contains multiplecolumns, converting the multiple columns into a single column fordisplay on the M×N resolution display.

Any of the above methods can be implemented as instructions stored on anelectronic storage medium so that the method is carried out when theinstructions are executed on a programmed processor forming a part of ahand-held computer.

The above summaries are intended to illustrate exemplary embodiments ofthe invention, which will be best understood in conjunction with thedetailed description to follow, and are not intended to limit the scopeof the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a method of viewing a web page using horizontal andvertical scrolling.

FIG. 2 is a logical block diagram of the palmtop computer system whichis suitable for use in implementing certain embodiments of the presentinvention.

FIG. 3 is a flow chart describing the high level operation of anembodiment of the present invention.

FIG. 4 is a flow chart describing a more detailed process fortranscoding according to certain embodiments of the present invention.

FIG. 5 shows an exemplary web page with three columns.

FIG. 6 shows the exemplary web page of FIG. 5 after the columns areconverted to a single column.

FIG. 7 shows an exemplary web page image.

FIG. 8 shows the exemplary web page image of FIG. 7 after the image hasbeen size reduced.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the present invention, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. However, it will be recognizedby one skilled in the art that the present invention may be practicedwithout these specific details or with equivalents thereof. In otherinstances, well known methods, procedures, components, and circuits havenot been described in detail as not to unnecessarily obscure aspects ofthe present invention.

Notation and Nomenclature

Some portions of the detailed descriptions which follow are presented interms of procedures, steps, logic blocks, processing, and other symbolicrepresentations of operations on data bits that can be performed oncomputer memory. These descriptions and representations are the meansused by those skilled in the data processing arts to most effectivelyconvey the substance of their work to others skilled in the art. Aprocedure, computer executed step, logic block, process, etc., is here,and generally, conceived to be a self-consistent sequence of steps orinstructions leading to a desired result. The steps are those requiringphysical manipulations of physical quantities.

Usually, though not necessarily, these quantities take the form ofelectrical or magnetic signals capable of being stored, transferred,combined, compared, and otherwise manipulated in a computer system. Ithas proven convenient at times, principally for reasons of common usage,to refer to these signals as bits, values, elements, symbols,characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the followingdiscussions, it is appreciated that throughout the present invention,discussions utilizing terms such as “processing” or “generating” or“converting” or “compressing” or “determining” or “removing” or“displaying” or “recognizing” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

Hand-Held Browser Transcoding in Accordance with the Present Invention

While this invention is susceptible of embodiment in many differentforms, there is shown in the drawings and will herein be described indetail specific embodiments, with the understanding that the presentdisclosure is to be considered as an example of the principles of theinvention and not intended to limit the invention to the specificembodiments shown and described. In the description below, likereference numerals are used to describe the same, similar orcorresponding parts in the several views of the drawings.

FIG. 2 illustrates circuitry of computer system 100, some of which canbe implemented within the handheld device of the present invention.Examples of such hand-held devices are commercially available from PalmComputing, Inc., 5470 Great America Parkway, Santa Clara, Calif. 95054.Computing system 100 includes an address/data bus 110 for communicatinginformation, a central processor 101 coupled with the bus for processinginformation and instructions, a volatile memory 102 (e.g., random accessmemory RAM) coupled with the bus 110 for storing information andinstructions for the central processor 101 and a non-volatile memory 103(e.g., read only memory ROM) coupled with the bus 110 for storing staticinformation and instructions for the processor 101. Computer system 100also includes an optional data storage device 104 (e.g., memory stick,SD memory, etc.) coupled with the bus 110 for storing information andinstructions. Device 104 can be removed. As described above, system 100also contains a display device 105 coupled to the bus 110 for displayinginformation to the computer user. The display device 105 is generally oflimited resolution of M×N pixels—limited primarily by the size of thehand-held device.

Also included in computer system 100 of FIG. 2 is an optionalalphanumeric input device 106 which in one implementation is ahandwriting recognition pad (“digitizer”) having regions 106 a and 106 b(FIG. 2A), for instance. Device 106 can communicate information andcommand selections to the central processor 101. System 100 alsoincludes an optional cursor control or directing device 107 coupled tothe bus for communicating user input information and command selectionsto the central processor 101. In one implementation, device 107 is atouch screen device incorporating with screen 105. Device 107 is capableof registering a position on the screen 105 where the stylus makescontact. The display device 105 utilized with the computer system 110may be a liquid crystal device, cathode ray tube (CRT), field emissiondevice (FED, also called flat panel CRT) or other display devicesuitable for creating graphic images and alphanumeric charactersrecognizable to the user. In the preferred embodiment, display 105 is aflat panel display.

Signal communication device 108, also coupled to bus 110 in theillustrated embodiment, can be a serial port for communicating with ahost computer through a cradle. Device 108 can also include an infraredcommunication port. Browser software or firmware can be stored in ROM103 and/or RAM 102 and/or data storage device 104 along with so called“plug-ins”.

Referring now to FIG. 3, a process 200 is illustrated, in accordancewith certain embodiments of the present invention, in which atranscoding operation is carried out within the hand-held device (e.g.palmtop computer) upon receipt of a web page, without use of a proxyserver (i.e., the process is proxyless). The web page, in certainembodiments can be received via a wireless connection to the Internetsuch as a wireless IEEE 802.11 compliant (or similar) connection whichmay be within an enterprise's firewall.

The process starts at 204, after which a web page is specified by theuser at 210, for example, by entering the page's URL (Universal ResourceLocator) or by selecting a link from another web page, document oremail. The hand-held device's browser then retrieves the associated pagevia the connection to the Internet and passes the page to the transcoderplug-in associated with the Browser at 222 (or equivalently, passes apointer to a memory location or a file name of a file storing the pageto the plug in). The transcoder plug-in then transcodes to web page toproduce a more readily viewable page at 228 and the transcoded page isthen displayed on the hand-held device's display at 234.

The transcoding process of certain embodiments of the invention isdescribed in greater detail hereinafter starting at FIG. 4. FIG. 4 showsan illustrative process 228 for transcoding the web page starting at300. Most web pages have one or more of three elements that areaddressed by the transcoder process 228—frames, tables, and images. Whenthe web page is received at 304, it is passed to 310 to determine ifthere are multiple frames in the web page. If so, the user is given theopportunity to select a frame from among the frames making up the webpage. This is accomplished in this embodiment by extracting the frametitles from the web page code at 314 and using these titles as itemsthat can be selected by the user from a menu generated at 318. When theuser makes selection of one of the available frames at 322, the selectedframe corresponding to the user selection is taken for furtherprocessing at 328. Thus, multiple frames are dealt with by giving theuser the opportunity to select among the various available frames fordisplay.

The transcoding process proceeds at 334 if there are not multiple framesat 310 or if the user selects a frame at 322. At 334, table definitionsare addressed. Multiple table definition statements within the web pageare often used to create multiple columns in a web page. However,multiple columns can be troublesome to view on the small M×N pixeldisplay of a hand-held computer device. So, the approach taken in thisembodiment is to convert multiple columns into a single column formatthat can simply be scrolled through vertically, thus eliminating needfor horizontal scrolling for the purpose of accessing multiple columns.This is accomplished in this embodiment by identifying table definitionstatements and deleting all table definitions except the first one. Thiseffectively converts an arrangement of horizontally stacked columns intoa single column with the original second column following the firstvertically (and so on).

Table definitions in HTML (Hypertext Markup Language) and similarlanguages are created using table definition tages <TD> and </TD>.Removing multiple <TD> and </TD> table cell tags in HTML source coderequires very little processing power to search and remove redundanttable cell tags within a single table row pairing <TR> </TR>. Theexample of Listing 1 below illustrates the process.

FIG. 5 shows an original web page 402 extracted from the Yahoo YAHOO™online web site (www.yahoo.com). Listing 1 shows the HTML source code(©Yahoo) used to implement the original web page. In order to reformatthe page, the browser examines the HTML code and removes the excess <TD>and </TD> tags (all except the first) as shown in strike through inListing 1. The resulting HTML code would be identical to that of Listing1 with the portions show in strikethrough eliminated. With excess tablecell tags removed, the web page would be rendered in a single columnshown as 406 in FIG. 6 (on a conventional computer display). Whenrendered on a hand-held display, horizontal scrolling for the purpose ofaccessing multiple columns is eliminated.

Listing 1

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>

<HTML>

<BODY>

<TABLE border=0 cellSpacing=0 width=“100%”>

-   -   <TBODY>    -   <TR>        -   <TD vAlign=top width=“30%”><SMALL><B>Departments</B><BR>•<A        -   href=“http://www.yahoo.com/s/1021”>Apparel</A><BR>•<A        -   href=“http://www.yahoo.com/s/1023”>Computers</A><BR>•<A        -   href=“http://www.yahoo.com/s/1059”>DVDs</A><BR>•<A        -   href=“http://www.yahoo.com/s/2509”>Electronics</A><BR>•<A        -   href=“http://www.yahoo.com/s/2510”>Flowers</A><BR>•<A        -   href=“http://www.yahoo.com/s/2769”>Jewelry</A><BR>•<A        -   href=“http://www.yahoo.com/s/2770”>Sports</A><BR>•<A        -   href=“http://www.yahoo.com/s/2511”>Toys</A><BR>•<A        -   href=“http://www.yahoo.com/s/2512”>Video Games</A><BR>•<A        -   href=“http://www.yahoo.com/s/1020”> more            depts.</A><BR></SMALL>            <SMALL><B>Stores</B><BR>•<A    -   href=“http://www.yahoo.com/s/1194”>Eddie Bauer</A><BR>•<A    -   href=“http://www.yahoo.com/s/1195”>Gap</A><BR>•<A    -   href=“http://www.yahoo.com/s/1196”>Barnes &amp;        Noble</A><BR>•<A    -   href=“http://www.yahoo.com/s/1197”>Victoria's        Secret</A><BR>•<A    -   href=“http://www.yahoo.com/s/1062”>more        stores</A><BR></SMALL>        <SMALL><B>Features</B><BR>•<A    -   href=“http://www.yahoo.com/s/2793”>Holiday Gifts</A><BR>•        <A    -   href=“http://www.yahoo.com/s/1356”>Harry Potter</A><BR>•        <A    -   href=“http://www.yahoo.com/s/2730”>Xbox Exclusive</A><BR>•        <A    -   href=“http://www.yahoo.com/s/2794”>Free Shipping</A><BR>•        <A    -   href=“http://www.yahoo.com/s/2775”>Toys by        Age</A><BR></SMALL>    -   </TD>    -   </TR>    -   </TBODY>        </TABLE>        </BODY>        </HTML>

Returning to FIG. 4, the final issue that is addressed is that ofimages. Images provided on web pages often have more information thancan reasonably be displayed on the limited resolution M×N pixel displayof the hand-held device. Accordingly, the approach taken in thisembodiment to address the problems of images is to reduce the size andpixel depth of the images. This is done by first finding an image tag at340. (If none is found, processing is unnecessary as indicated.) Foreach image tag found, the image is retrieved and processed by reducingthe image's size at 346 to a size that can be displayed in the M×N pixeldisplay and reducing the image's pixel depth (e.g., by compressing theimage's gray scale and/or reducing the number of colors) at 350.

Other arrangements for reducing the image size for display on a smalldisplay are known and can be used in conjunction with the presentinvention. The most common image formats used in web pages are GIF andJPG. These image formats support easy reduction using the relativelysmall computing horsepower available in the handheld. Many handheldapplications such as those described above are already available whichreduce images. For example, the image processing can be carried outusing algorithms used in the commercially available IA ALBUM™ productavailable from IA Style, Inc. or MGI PHOTOSUITE™ available from MGISoftware Corp. or DreamHouse POCKETPHOTO™ available from DreamhouseSoftware, Inc. When the last image is processed, the plug-in returns thetranscoded web page (or a pointer thereto) for display.

As described, Images embedded in web pages should be scaled down forviewing on the handheld. When using a proxy-assisted browser, imagereduction of both size and pixel depth is typically performed on theproxy server prior to delivery to the handheld. But in the currentproxyless environment, the handheld device implements the imagereduction process. In the embodiment described herein, a pluginarchitecture is used in the handheld device's browser so that imagemanipulation applications can be registered and leveraged. The plugin isa standalone application that receives a file pointer as input andreturns a file pointer back to the browser.

When a web page contains an image, the browser saves that image to afile and passes the file pointer to the plugin. The plugin reduces theimage, saves the result into a new file, and passes a new file pointerback to the browser. The browser references the new file pointer whendisplaying the image.

The following example illustrates the process. A web page containing animage of a zebra is referenced with an HTML <img src= . . . > tag. FIG.7 shows the web page 420 and Listing 2 shows the HTML source code usedto create it. The handheld browser, upon receiving the <img src= . . . >tag first extracts the image to a local file, as shown as pseudocode inListing 3. In this example, the local file is named“C:\temp\transcodeOnPalmPatent\10922944.jpg”. The browser passes apointer to this file to the image processing plugin, which reduces andstores the image to a new file named“C:\temp\transcodeOnPalmPatent\reduced\10922944.jpg”, and returns thisfile pointer back to the browser. Listing 4 shows that the browserreferences the newly reduced file in the HTML <img src= . . . > tag andFIG. 8 shows the resulting rendered web page 426 with a reduced image.

Listing 2

<html><head><title>Yahoo! Picture Gallery</title></head>

<body bgcolor=“#ffffff”>

<img src=“http://gallery.yimg.com/c/256wm/10922944.jpg”

-   -   width=170 height=256 border=1><br>        <font size=“+1”><b>Zebra </b></font><br>        </body></html>        Listing 3        ORIGINAL IMAGE AT:        http://gallery.yimg.com/c/256wm/10922944.jpg        BROWSER EXTRACTS TO: C:\temp\transcodeOnPalmPatent\10922944.jpg        BROWSER PASSES FILE POINTER TO IMAGE PROCESSING APPLICATION        IMAGE PROCESSING APP REDUCES FILE, STORES TO:    -   C:\temp\transcodeOnPalmPatent\reduced\10922944.jpg        IMAGE PROCESSING APP NEW FILE POINTER TO BROWSER        Listing 4        <html><head><title>Yahoo! Picture Gallery</title></head>        <body bgcolor=“#ffffff”>        <img src=“C:\temp\transcodeOnPalmPatent\reduced\10922944.jpg”    -   width=85 height=128 border=1><br>        <font size=“+1”><b>Zebra </b></font><br>        </body></html>

Those skilled in the art will appreciate that the order of theoperations described above can be modified and the processing of imagesand tables can be carried out in any order or simultaneously within thescope of this embodiment of the invention. Also, although the examplesshown are illustrated using HTML coding, this should not be consideredlimiting since similar equivalent processes can be devised to handleother languages including, but not limited to XML and Java, withoutdeparting from the present invention. Moreover, although the presentinvention is described as a plug-in for browser software, otherimplementations are possible including incorporation within the browsersoftware.

Those skilled in the art will recognize that the present invention hasbeen described in terms of exemplary embodiments based upon use of aprogrammed processor. However, the invention should not be so limited,since the present invention could be implemented using hardwarecomponent equivalents such as special purpose hardware and/or dedicatedprocessors which are equivalents to the invention as described andclaimed. Similarly, general purpose computers, microprocessor basedcomputers, micro-controllers, optical computers, analog computers,dedicated processors and/or dedicated hard wired logic may be used toconstruct alternative equivalent embodiments of the present invention.

The present invention is preferably implemented using a programmedprocessor such as processor 101 executing programming instructions thatare broadly described above in flow chart form and can be stored on anysuitable electronic storage medium. However, those skilled in the artwill appreciate that the processes described above can be implemented inany number of variations and in many suitable programming languageswithout departing from the present invention. For example, the order ofcertain operations carried out can often be varied, and additionaloperations can be added without departing from the invention. Errortrapping can be added and/or enhanced and variations can be made in userinterface and information presentation without departing from thepresent invention. Such variations are contemplated and consideredequivalent.

While the invention has been described in conjunction with specificembodiments, it is evident that many alternatives, modifications,permutations and variations will become apparent to those skilled in theart in light of the foregoing description. Accordingly, it is intendedthat the present invention embrace all such alternatives, modificationsand variations as fall within the scope of the appended claims.

1. A method of processing data using a portable electronic device, saidmethod comprising: accessing first data comprising a web page;transcoding, using a processor of said portable electronic device toexecute code stored on said portable electronic device, said first datato generate second data; and displaying, using a display device of saidportable electronic device, said second data.
 2. The method of claim 1,wherein said displaying further comprises displaying said second datausing a browser program, and wherein said transcoding further comprisestranscoding said first data using a plug-in associated with said browserprogram.
 3. The method of claim 1, wherein said first data comprises aplurality of frames, wherein said transcoding further comprisesgenerating a menu associated with said plurality of frames, wherein saidmenu enables user selection of a particular frame of said plurality offrames, wherein said transcoding further comprises generating saidsecond data to include a portion of said first data associated with saidparticular frame, and wherein said displaying further comprisesdisplaying said portion of said first data associated with saidparticular frame.
 4. The method of claim 1, wherein said web pagecomprises an image, and wherein said transcoding further comprisesreducing a size of said image.
 5. The method of claim 1, wherein saidtranscoding further comprises reducing said size of said image from afirst size to a second size, wherein said second size is less than aresolution of said display device.
 6. The method of claim 1, whereinsaid web page comprises an image, and wherein said transcoding furthercomprises reducing a pixel depth of said image.
 7. The method of claim1, wherein said transcoding further comprises reducing a number ofcolumns of said web page.
 8. The method of claim 1, wherein saidtranscoding further comprises removing redundant table definition tagsto reduce a number of columns of said web page.
 9. A portable electronicdevice comprising: a processor operable to transcode first data togenerate second data, wherein said first data comprises a web page, andwherein said processor is further operable to transcode said first databy executing code stored on said portable electronic device; and adisplay device operable to display said second data.
 10. The portableelectronic device of claim 9, wherein said display device is furtheroperable to display said second data using a browser program, andwherein said processor is further operable to transcode said first datausing a plug-in associated with said browser program.
 11. The portableelectronic device of claim 9, wherein said first data comprises aplurality of frames, wherein said processor is further operable togenerate a menu associated with said plurality of frames, wherein saidmenu enables user selection of a particular frame of said plurality offrames, wherein said processor is further operable to generate saidsecond data to include a portion of said first data associated with saidparticular frame, and wherein said display device is further operable todisplay said portion of said first data associated with said particularframe.
 12. The portable electronic device of claim 9, wherein said webpage comprises an image, and wherein said processor is further operableto reduce a size of said image.
 13. The portable electronic device ofclaim 9, wherein said processor is further operable to reduce said sizeof said image from a first size to a second size, wherein said secondsize is less than a resolution of said display device.
 14. The portableelectronic device of claim 9, wherein said web page comprises an image,and wherein said processor is further operable to reduce a pixel depthof said image.
 15. The portable electronic device of claim 9, whereinsaid processor is further operable to reduce a number of columns of saidweb page.
 16. The portable electronic device of claim 9, wherein saidprocessor is further operable to remove redundant table definition tagsto reduce a number of columns of said web page.
 17. A method ofprocessing data using a portable electronic device, said methodcomprising: accessing first data comprising a web page; transcoding,using an application stored on said portable electronic device, saidfirst data to generate second data, wherein said transcoding furthercomprises modifying said web page in accordance with an attribute ofsaid portable electronic device; and displaying, using a display deviceof said portable electronic device, said second data.